JNI用javah命令生成头文件

以下代码在Android中JNI的使用之HelloWorld的基础上操作

Android中JNI的使用之HelloWorld

可以在Eclipse工具的android工程下–>右键android tools–>add native support,弹出一个窗体,然后自定义库名(xxx.so)–>点击Finish,会自动生成jni目录以及.cpp文件和Android.mk文件

2.4在工程的src目录下,在dos窗口使用javah命令 后面跟 MainActivity全路径(eg:com.example.jnitojavah.MainActivity),会在src目录下生成一个头文件(eg:com_example_jnitojavah_MainActivity.h)

这是javah指令操作
javah命令

*注意: 使用Javah生成jni头文件
javah jdk提供 来到你工程src目录
如果你的jdk版本是1.7 来到src目录生成
如果你的jdk版本是1.6 来到bin\class下生成*

2.5刷新项目,将src目录下的将头文件移动到jni目录下

这里写图片描述

3.打开头文件,复制如下代码到c文件中

JNIEXPORT jstring JNICALL Java_com_example_jnitojavah_MainActivity_javaFromCToJavah
  (JNIEnv *, jobject);

3.1将参数补全,这样就可以不用自己写(避免写错)

3.2在c文件中,引入自己生成的头文件(com_example_jnitojavah_MainActivity.h),因为自己生成的头文件已经是导入#include <jni.h>

注:<>与“”的区别,<>是导入外部的头文件,“”是导入自己的头文件

c代码

#include <stdio.h>
#include <stdlib.h>
#include "com_example_jnitojavah_MainActivity.h"

JNIEXPORT jstring JNICALL Java_com_example_jnitojavah_MainActivity_javaFromCToJavah
  (JNIEnv *env, jobject obj){

     return (*env)->NewStringUTF(env,"hello java");
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值